iT邦幫忙

2022 iThome 鐵人賽

DAY 9
0
Software Development

大學耍廢的我要學Java翻身系列 第 9

Day9: 讓程式更簡單的「方法」

  • 分享至 

  • xImage
  •  

Java方法

方法也被稱為函式函數,功能就像是函數一樣,當我們需要用到某個公式的時候,就會把我們的變數代入公式一樣,只是這裡就是我們依我們的需求去製作一個方法去解決問題,以後遇到一樣的問題的時候可以再帶入公式就好

定義我們的方法

修飾子 (static) <傳回值型別> 方法名(參數型別 參數){
敘述;
(return 要傳回的值;)
}

public static int add(int num1, int num2){
    return num1 + num2;
}

修飾子 => public、private、protected、default

修飾子可以去指定存取的權限

static

使用static宣告方法,就是把它變成靜態方法,呼叫時,不需要new這個類別的物件實體就可以直接使用,像是我們最常用到的main()就是靜態方法

傳回值型別

就是設定我們傳回值的資料型別,如果沒有傳回值就設為void,像是我們最常用的main()就是此類

return

當我們有傳回值的時候就會用到,程式執行到return的時候就會跳出函式

怎麼呼叫方法

呼叫靜態方法(有static的方法) => 直接使用靜態方法

public static void main(String[] args){
   System.out.println(add(5, 2));   // 7 
}

public static int add(int num1, int num2){
    return num1 + num2;
}

呼叫實體物件的方法 => new出物件

public static void main(String[] args){
    Myfunc c = new Myfunc();           // 建立Myfunc的類別物件c
    System.out.println(c.add(5, 2));   // 呼叫c的add方法 = 7 
}
class Myfunc{
    int add(int num1, int num2){
        return num1 + num2;
    }
}

多載(Overloading)

就是說同一個類別裡面,允許方法用相同名稱,但後面的參數必須是1.資料型別不同、2.個數不同 or 順序不同

void add(int num1, int num2){}

int add(int num1, int num2){}             // 多載失敗: 傳回型別不同,但參數個數相同

void add(int num1, int num2, int num3){}  // 多載成功: 比第一個多一個參數

void add(int num1, int num2, int num4){}  // 多載失敗: 參數名稱不同,但個數一樣

void add(String num1, int num2){}         // 多載成功: 參數型別不同

void add(int num2, String num1){}         // 多載成功: 參數順序不同

遞迴 => 方法呼叫方法自己,當滿足條件才會結束呼叫

費氏數列

public static void main(String[] args){
    System.out.println(fi(5)); // 1 1 2 3 5 => 5
}
static int fi(int n){
    if(n == 1 || n == 2){
        return 1;
    } else {
        return fi(n-2) + fi(n-1);
    }
}

上一篇
Day8: Java的陣列
下一篇
Day10: Java的物件導向程式
系列文
大學耍廢的我要學Java翻身30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言